# 业务服务模块

# 添加各个具体服务
add_subdirectory(ping_service)
# add_subdirectory(user_service)
# add_subdirectory(file_service)

# ============================================================
# services 统一服务库（包含所有服务 + 初始化管理）
# ============================================================
add_library(services STATIC
    service_init.h
    service_init.cpp
)

# 公开头文件目录
target_include_directories(services PUBLIC
    ${CMAKE_SOURCE_DIR}
)

# 链接框架和所有具体服务
target_link_libraries(services
    PUBLIC
        framework                # 公开依赖：使用者需要framework的头文件
    PRIVATE
        ping_service             # 私有依赖：具体服务实现细节
        # user_service
        # file_service
)

# 说明：
# - services库包含了服务初始化管理代码（service_init.cpp）
# - 所有具体服务作为PRIVATE依赖，对外不可见
# - 主程序只需链接services即可使用所有服务
